

#ifndef UC_GEDWGIO_H
#define UC_GEDWGIO_H

#include "zdbfiler.h"
#include "zgefileio.h"
#include "zgelibver.h"
#pragma pack (push, 8)

class
GE_DLLEXPIMPORT
UcGeDwgIO
{
public:

    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePoint2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeVector2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeMatrix2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeScale2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePoint2dArray&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeVector2dArray&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePoint3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeVector3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeMatrix3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeScale3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePoint3dArray&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeVector3dArray&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeTol&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeInterval&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeKnotVector&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeDoubleArray&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeIntArray&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCurveBoundary&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePosition2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePointOnCurve2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeLine2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeLineSeg2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeRay2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCircArc2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeEllipArc2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeExternalCurve2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCubicSplineCurve2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeNurbCurve2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCompositeCurve2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeOffsetCurve2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePolyline2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePosition3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePointOnCurve3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePointOnSurface&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeLine3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeRay3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeLineSeg3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePlane&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeBoundedPlane&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCircArc3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeEllipArc3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCubicSplineCurve3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeNurbCurve3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCompositeCurve3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeOffsetCurve3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGePolyline3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeAugPolyline3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeExternalCurve3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCone&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCylinder&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeTorus&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeExternalSurface&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeOffsetSurface&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeNurbSurface&);
    static
   Ucad::ErrorStatus outFields(UcDbDwgFiler*,const UcGeExternalBoundedSurface&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeSphere&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeBoundBlock2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeBoundBlock3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCurveCurveInt2d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeCurveCurveInt3d&);
    static
    Ucad::ErrorStatus outFields(UcDbDwgFiler*, const UcGeEllipCone&);

    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePoint2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeVector2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeMatrix2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeScale2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePoint2dArray&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeVector2dArray&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePoint3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeVector3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeMatrix3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeScale3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePoint3dArray&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeVector3dArray&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeTol&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeInterval&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeKnotVector&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeDoubleArray&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeIntArray&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCurveBoundary&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePosition2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePointOnCurve2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeLine2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeLineSeg2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeRay2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCircArc2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeEllipArc2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeExternalCurve2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCubicSplineCurve2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeNurbCurve2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCompositeCurve2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeOffsetCurve2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePolyline2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePosition3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePointOnCurve3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePointOnSurface&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeLine3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeRay3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeLineSeg3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePlane&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeBoundedPlane&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCircArc3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeEllipArc3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCubicSplineCurve3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCompositeCurve3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeOffsetCurve3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeNurbCurve3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGePolyline3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeAugPolyline3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeExternalCurve3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCone&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCylinder&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeTorus&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeExternalSurface&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeOffsetSurface&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeNurbSurface&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeExternalBoundedSurface&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeSphere&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeBoundBlock2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeBoundBlock3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCurveCurveInt2d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeCurveCurveInt3d&);
    static
    Ucad::ErrorStatus inFields(UcDbDwgFiler*, UcGeEllipCone&);

    static const UcGeLibVersion  UcGeDwgIOVersion;
};

#pragma pack (pop)
#endif
